Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit fe3d86e92194efcee4f3a5e10274bcd2d1280bdc


Parents : ea761bf
Author : Mark Qvist <bc7291552be7a58f361522990465165c>
Signature : T66BB85Valid, signed by author
Date : 2026-07-17T02:41:07+02:00

Small icon toggle

Changes

2 files changed, 22 insertions(+), 6 deletions(-)


Diff

diff --git a/sbapp/mapview/clustered_marker_layer.py b/sbapp/mapview/clustered_marker_layer.py
index 212350ad..34407b2d 100644
--- a/sbapp/mapview/clustered_marker_layer.py
+++ b/sbapp/mapview/clustered_marker_layer.py
@@ -44,15 +44,16 @@ Builder.load_string(
MDTelemetryIconButton:
app: root.app
- pos: [root.pos[0], root.pos[1]+dp(16)] if root.inspectable else [root.pos[0]+dp(7.5), root.pos[1]+dp(11)]
+ pos: [root.pos[0], root.pos[1]+dp(16)] if not root.small else [root.pos[0]+dp(7.5), root.pos[1]+dp(11)]
icon: root.icon
icon_color: root.icon_color
md_bg_color: root.md_bg_color
theme_icon_color: "Custom"
- icon_size: dp(32) if root.inspectable else dp(22)
- _default_icon_pad: dp(16) if root.inspectable else dp(11)
+ icon_size: dp(32) if not root.small else dp(22)
+ _default_icon_pad: dp(16) if not root.small else dp(11)
source_dest: root.source_dest
inspectable: root.inspectable
+ small: root.small
"""
)
@@ -294,6 +295,7 @@ class Marker:
self.widget.md_bg_color = self.md_bg_color
self.widget.location_time = self.location_time
self.widget.inspectable = self.inspectable
+ self.widget.small = self.small
@property
def app(self):
@@ -379,6 +381,18 @@ class Marker:
if not self.options: self.options = {}
self.options[k] = v
+ @property
+ def small(self):
+ k = "small"
+ if not self.options: return None
+ else: return self.options.get(k, None)
+
+ @small.setter
+ def small(self, v):
+ k = "small"
+ if not self.options: self.options = {}
+ self.options[k] = v
+
def __repr__(self):
return f"<{self.cls} Proxy lat={self.lat} lon={self.lon}: {self.options}>"
@@ -538,6 +552,7 @@ class TelemetryClusterMarker(CustomMapMarker):
md_bg_color = ListProperty([1, 1, 1, 1])
location_time = NumericProperty(0)
inspectable = BooleanProperty(True)
+ small = BooleanProperty(True)
def __init__(self, **kwargs):
if "md_bg_color" in kwargs:

diff --git a/sbapp/ui/map.py b/sbapp/ui/map.py
index 8f12dd23..deb682d1 100644
--- a/sbapp/ui/map.py
+++ b/sbapp/ui/map.py
@@ -451,13 +451,13 @@ class Map():
RNS.log("Could not create map marker for "+RNS.prettyhexrep(source)+": "+str(e), RNS.LOG_ERROR)
return None
- def create_clustered_marker(self, source, telemetry, appearance, inspectable=True):
+ def create_clustered_marker(self, source, telemetry, appearance, inspectable=True, small=False):
try:
l = telemetry["location"]; a_icon = appearance[0]
a_fg = appearance[1]; a_bg = appearance[2]
clustered_marker = self.clustered_layer.add_marker(l["longitude"], l["latitude"], cls=TelemetryClusterMarker,
options={"source_dest": source, "app": self.app,
- "icon": a_icon, "icon_color": a_fg, "md_bg_color": a_bg,
+ "icon": a_icon, "icon_color": a_fg, "md_bg_color": a_bg, "small": small,
"location_time": l["last_update"], "inspectable": inspectable})
return clustered_marker
@@ -637,7 +637,8 @@ class Map():
if_appearance[2] = source_appearance[2]
plat = float(p["latitude"]); plon = float(p["longitude"]); palt = float(p["altitude"])
telemetry = {"location": {"latitude": plat, "longitude": plon, "altitude": palt, "last_update": time.time()}}
- marker = self.create_clustered_marker(p_hash, telemetry, if_appearance, inspectable=False)
+ # marker = self.create_clustered_marker(p_hash, telemetry, if_appearance, inspectable=False)
+ marker = self.create_clustered_marker(telemetry_source, telemetry, if_appearance, small=True)
marker.parent = telemetry_source
if marker != None:
self.clustered_markers[p_hash] = marker


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────